package com.sgy.springbootmybatisplus.pojo;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User extends Model<User> {

    @TableId(type = IdType.AUTO)  // 设置主键生成策略
    private Long id;

    @TableField(select = true)   // 查询的时候不返回该字段值
    private String name;
    private Integer age;

    @TableField(value = "email")  // 解决字段命名和数据库命名不一致问题
    private String mail;

    @TableField(exist = false)  // 解决字段在数据库表中不存在的问题
    private String address;

    @Version
    @TableField(fill = FieldFill.INSERT)  // 插入数据时对该属性的填充策略
    private Integer version;

    @TableLogic   // 表示该属性是否表示逻辑删除状态
    private Integer deleted;
}
